home *** CD-ROM | disk | FTP | other *** search
/ Saar AMOK 2 / Saar AMOK II - Oktober 1994 (1994)(Kreativ Marketing)(DE)[!][I-7598].iso / tools / saarcat / fishcat.doc < prev    next >
Text File  |  1994-01-06  |  16KB  |  362 lines

  1.  
  2. FishCat V1.2
  3. ============
  4.  
  5.   So, Kickstart 2.0 is here, and boy does it look GREAT!! (thanks guys :-))
  6. But all of your applications still open their own screens in hires,
  7. non-interlace embarassing you in front of your friends.  Once I experienced
  8. 2.0 along with its usable Workbench, I wanted EVERYTHING to open a window on
  9. the workbench with 3D buttons (no read/blue glasses required).
  10.  
  11.   FishCat is intended to be a replacement for Aquarium.  Aquarium is one of
  12. my more "dog-eared" programs, and although it ran beautifully under 2.0, it
  13. was somewhat of an aesthetic shock from my crisp hires, interlace, overscan
  14. workbench.  I also found myself using Aquarium to look for programs, and
  15. writing the items I wanted on a slip of paper.  So I said to myself, "HEY!!
  16. these are the nineties... and you want to learn 2.0 anyway."
  17.  
  18.   FishCat allows you to search a database consisting of the programs on all
  19. existing Fish disks.  The influence of Aquarium is extremely evident, but I
  20. hope there are enough enhancements to make some people happy.
  21.  
  22.  
  23. REQUIREMENTS
  24. ------------
  25.  
  26.     FishCat was designed to be run on a HIRES, INTERLACED, OVERSCAN screen.
  27. Its window is 640x200, so it will fit on a hires, non-interlaced screen, but
  28. things will be a bit out of proportion (I personally feel that running your
  29. Amiga in less than hires, interlaced mode does a disservice to the Amiga and
  30. makes it look like a toy although for memory reasons, I realize it can be
  31. necessary).  You MUST have the HELVETICA font in both 11 and 13 points
  32. available for this thing to look suitably impressive.  While certainly not
  33. required, I would recommend finding a terminal program that opens a public
  34. screen (or at least opens on the workbench).  TERM 1.9c is my personal
  35. choice (but my demands are very reasonable, so it may not meet your needs).
  36. FishCat functions very well on my A3000/16, but I can make no performance
  37. promises on slower machines.  It requires ~290K when running.  I have not
  38. tested FishCat on a floppy, but I assume performance would be pathetic as
  39. in any application of this type.
  40.  
  41.  
  42. PERFORMANCE
  43. -----------
  44.  
  45.     I have spent a reasonable amount of time optimizing many of the searches
  46. in FishCat.  On an Amiga 3000/16, the entire current database can be
  47. searched for an arbitrary string in the description field in approximately
  48. 50 seconds compared to 1 minute 30 seconds for Aquarium.  Title and flag
  49. searches take less than 3 seconds.
  50.  
  51.  
  52. FEATURES
  53. --------
  54.  
  55.    - Reasonably fast searches
  56.    - Can open on a specific public screen or the default public screen
  57.    - "Iconifies" (using the 2.0 "zoom" gadget)
  58.    - Database is generally less susceptible to corruption than other efforts
  59.    - Internal support for adding new fish disks.
  60.       - Disks can be added in any order/combination
  61.       - Supports dropping "contents files" on the FishCat window to
  62.         automatically add them to the database (AppWindow)
  63.       - Database corruption is almost always limited to one fish disk
  64.       - Errors in the database can be corrected by simply re-adding the files
  65. *     - Suports custom "upgrade files" for easy upgrades
  66.    - Classy 2.0 look
  67.    - Supports configuration through tooltypes
  68.    - Runs from both CLI and Workbench
  69.    - Tons o' nice thoughtful features to make your life easier
  70. *  - AREXX port
  71.  
  72.     (* indicates a new feature)
  73.  
  74. Getting Around in FishCat
  75. =========================
  76.  
  77. Starting FishCat
  78. ----------------
  79.     FishCat can be run from both the CLI and Workbench. If run from the CLI,
  80. it accepts a public screen name as its only parameter.  If this is not
  81. specified, FishCat will open on the default public screen (usually the
  82. workbench screen.  I would suggest setting the stack to at least 20000 or
  83. you may experience problems (this is taken care of automatically when
  84. running from the workbench).
  85.  
  86.     When run from its icon, FishCat supports the following tool types:
  87.  
  88.      ICONIFY - If set to YES, FishCat will be iconified immediately after
  89.                being run
  90.      PUBSCREEN - If specified, it is set equal to the name (case sensitive)
  91.                  of the public screen on which to open the FishCat window.
  92.      USERBUTTON - If specified, the value will be used as the name of the
  93.                   "user" button rather than the default name("User").
  94.                   Only the first eight characters are used.
  95.      PORTNAME - If specified, the value of this tool type will be used as the
  96.                 name of the AREXX port rather than the default (FISHCAT).
  97.  
  98. The Controls
  99. ------------
  100.     The FishCat window contains several gadgets which are described below:
  101.  
  102.     - Item list
  103.         This is a scrolling list of the items found so far in the current
  104.         search.  It will consist of all of the items on the current disk in
  105.         the case of a disk search, or all of the items matching the given
  106.         title, description, and flags as selected in the case of a
  107.         string/flag search.  This list is functional during a search.
  108.         Clicking on an item in this list during a search terminates the
  109.         search and displays the item selected.
  110.  
  111.     - Backward/Forward buttons
  112.         These buttons begin a downward/upward search (ie. a search from the
  113.         current disk to lower/higher disks).  In the case of a disk search,
  114.         this will advance to the next lower/higher disk in the database.
  115.  
  116.     - Stop
  117.         This button will terminate a search in progress.
  118.  
  119.     - Goto button (» «)
  120.         This button (situated immediately to the right of the Forward search
  121.         button) changes to disk search mode and sets the current disk to the
  122.         disk on which the current item is located.  This is useful if you
  123.         find a particular item, and you want to see what other items are on
  124.         that same disk.
  125.  
  126.     - Search type
  127.         These radio buttons select which type of search will be performed by
  128.         Backward/Forward buttons.  Clicking Disk search will immediately take
  129.         you to the disk number typed in the corresponding string gadget
  130.         (if in the database).  Clicking "String/Flag" search will clear the
  131.         item window and prepare for a search using the flags specified at
  132.         the right, and the strings entered in the title and description
  133.         string gadgets.  In order for the title and/or description strings
  134.         to be considered in the search, the corresponding checkboxes must
  135.         be checked.
  136.  
  137.     - Description box
  138.         This scrolling box contains the description of the currently
  139.         selected item.  Immediately above it is the disk number and name of
  140.         the current item.
  141.  
  142.     - Match/Show button
  143.         This button has two states, "Match" and "Show".  When in "match mode",
  144.         the selected flags will be used during any subsequent string/flag
  145.         searches.  When in "show mode", the flags set for the currently
  146.         selected item are displayed in the flag gadgets.
  147.  
  148.     - Set Button
  149.         This button is only available in show mode.  It sets the flags for
  150.         the current item to those selected using the flag gadgets.
  151.  
  152.     - Next/Previous Item buttons
  153.         These buttons are the plus(+) and minus(-) buttons located immediately
  154.         next to the recessed box containing the disk number and item name.
  155.         The plus/next button will advance to the next item in the item list,
  156.         while the minus/previous button will go back one item.
  157.  
  158.     -User flag
  159.         The user flag acts like a normal flag in every respect. It can be
  160.         set, cleared, and searched for.  Although by default this flag is
  161.         named "User", it can be renamed using the USERBUTTON tooltype (I
  162.         personally name mine "Download" and use it to mark those files I
  163.         want to download later).  The User flag is different from the other
  164.         flags in only one respect.  There is no need to select the set
  165.         button to set the state of the user flag.  As soon as the user flag
  166.         is clicked, the entry for that item is changed in the database (it
  167.         must still be saved to disk if you want the change to be permanent).
  168.         There is also a menu item that can be used to clear the user flag
  169.         for ALL items in the database.  This flag is intended to be used as
  170.         a volatile flag to mark items for whatever reason you want to mark
  171.         them.
  172.  
  173.  
  174.     NOTES:
  175.       - Holding the SHIFT key when clicking on the Backward/Forward
  176.         buttons, will take you to the first/last disk before performing the
  177.         specified function.  This means that shift-clicking while in disk
  178.         search simply takes you to the first or last disk, but while
  179.         performing a string/flag search, the search will merely start from
  180.         the lowest/highest disk.
  181.  
  182.       - If a search is interrupted, clicking the Backward/Forward button
  183.         will continue the search from the disk where the search was stopped
  184.         (clearing the item list first).
  185.  
  186.       - Typing in the disk number gadget and pressing enter will
  187.         auomatically switch to disk search mode and goto the selected disk.
  188.         Typing in the title or description string gadgets and pressing enter
  189.         will automatically switch to string/flag search mode and check the
  190.         entered field.
  191.  
  192.       - If the window is iconified during a search, the disk being
  193.         searched is displayed in the ttle bar of the FishCat window.
  194.  
  195.       - The small buttons to the left of the title and description
  196.         string gagdets can be used to copy the name of the current item to
  197.         the corresponding string gadget.
  198.  
  199.       - The UP/DOWN arrow keys perform the same functions as the
  200.         backward/forward buttons.  The LEFT/RIGHT arrows keys perform the
  201.         same functions as the Next/Prev item buttons.  Qualifier keys modify
  202.         the actions of these keys in exactly the same way the actual buttons
  203.         are modified.
  204.  
  205.  
  206. Adding New Disks
  207. ----------------
  208.  
  209.     Adding new fish disks to FishCat is mind bogglingly simple.  You can...
  210.  
  211. A) Drop one or more "Contents.###" files on the FishCat window
  212.    (this will automatically add them to the database)
  213.  
  214. B) Select "Read New Disks..." from the Project menu.  This will bring up the
  215.    ASL file requester to select a file.  The selected "Contents.###" file
  216.    will be added to the database.  If you do not select a file, but click
  217.    "Okay" in the file requester with only a directory selected, The entire
  218.    directory will be read and all contents files will be added to the
  219.    database.
  220.  
  221.     If FishCat reports that a file is corrupt, this merely means that it
  222. could not decipher the format of the file.  Many early fish disks (<100)
  223. were poorly formatted at best, and will not be added to the database
  224. correctly.  If this happens, merely edit the contents file and try again.
  225. The file must have the text "This is disk ###" as its first non-blank line,
  226. and each item should consist of the item name followed immediately by
  227. a description (possibly indented).  I had NO problems with ANY disk after
  228. 200 (and only a couple between 100 and 200).  Also, my algorithm is much
  229. more robust than I described above, but the above format is your best bet.
  230.  
  231.  
  232. Update Files
  233. ------------
  234.  
  235.     Version 1.2 of FishCat now supports a custom update file format.  These
  236. update files contain all of the information neccessary for adding a disk to
  237. the library (item titles, descriptions, and flags).  Update files are added
  238. to the database in exactly the same ways as contents files ("drag and drop"
  239. or the "Read New Disks..." menu).  Update files can be added in any order,
  240. and re-adding an update file will only negate any changes to the flags for
  241. those items that the user may have made.
  242.     In order to create update files, the FCExport utility is provided.
  243. FCExport can only be run from the CLI, and expects three parameters.  Typing
  244. FCExport with no parameters will display the following usage:
  245.  
  246.     FCExport OutputFile StartDisk EndDisk
  247.  
  248.     This will create the file "OutputFile" containing all of the information
  249. about disks "StartDisk" through "EndDisk" necessary to update another FishCat
  250. database.  A normal user should not need to use FCExport.
  251.  
  252.  
  253. The Database
  254. ------------
  255.  
  256.     I have opted not to support the aquarium database format.  This is
  257. largely due to the fact that I had corrupted my database one too many times
  258. trying to add new disks.
  259.     My database consists of an INDEX containing the name, flags, and offset
  260. for each entry in the library.  There is also a "data" directory containing
  261. one directory for every 100 Fish disks.  Each disk directory contains upto
  262. 100 "Contents" files.  These contents files are stripped down versions of
  263. the ACTUAL contents files located on the original disks.  I realize it may
  264. seem absurd to store each disk in its own file rather than one HUGE one, but
  265. I have experienced no problems, it dramatically reduces the chance of
  266. corrupting the database, and it allows for faster operation in many cases.
  267.     The only file you really need to backup when adding new disks might be
  268. your index file, as it is theoretically possible to trick the program into
  269. reading an invalid file.  Again, this could only corrupt the index and even
  270. this is not likely.  To facilitate this, there is a "Save as..." menu item
  271. for backing up the index.
  272.  
  273.  
  274. AREXX Commands
  275. --------------
  276.  
  277.     Starting with version 1.2, FishCat supports AREXX.  Currently only three
  278. commands are recognized.  The default AREXX port is named FISHCAT, but this
  279. can be changed through the PORTNAME tooltype.
  280.  
  281.     QUIT [FORCE] - Exits the FishCat application (the FORCE option supresses
  282.                     the "Save" requester if necessary)
  283.     GETDISK - Returns the disk number of the currently selected item (value
  284.                 is in the "RESULT" variable)
  285.     GETITEM - Returns the name of the currently selected item (value is
  286.                 returned in the "RESULT" variable)
  287.  
  288.     I have included some simple AREXX scripts to show how I meant for this
  289. all to work.  They are very specific to the particular mainframe to which
  290. I have access, but they should serve as suitable examples.
  291.  
  292.  
  293. Changes from v1.1 to v1.2
  294. -------------------------
  295.  
  296. (B=Bug fix, E=Enhancement)
  297.  
  298. B -Corrected cosmetic problems regarding non-Topaz8 system fonts.
  299.  
  300. B -Removed memory leak and cleaned up exit code (hopefully :-)).
  301.  
  302. B -Removed silly bug regarding adding contents files from root of volume.
  303.  
  304. E -Added AREXX port (named FISHCAT).
  305.  
  306. E -Added buttons to allow displaying previous/next item without using the
  307.     item list.
  308.  
  309. E -Added cursor keys as equivalents for arrow and prev/next item buttons.
  310.  
  311. E -Added support for flexible update files (including FCExport).
  312.  
  313.  
  314. Special Thanks
  315. --------------
  316.  
  317.     I would be remiss if I did not thank the following people:
  318.  
  319.         - Fred Fish for providing an AMAZING and UNPARALLELED service to the
  320.           Amiga community
  321.         - B Lennart Olson for Aquarium which I used to find most of the
  322.           utilities and programs on my system.
  323.         - Matt Dillon for DICE.  An amazing compiler(try it, you'll
  324.           like it :-))
  325.         - EVERYONE WHO SENT ME $10 AND MOTIVATED THIS AND OTHER PROJECTS.
  326.         - John Novak for beta testing, and many helpful suggestions
  327.         - My girlfriend for allowing me to ignore her long enough to write
  328.           this program
  329.         - And FAR FROM LEAST, the Commodore team who gave us and continues
  330.           to improve this incredible machine (WOW!!)
  331.  
  332.  
  333.  
  334. THIS PROGRAM IS SHAREWARE!!!
  335. ============================
  336.  
  337.     If you use this program, clear your conscience and motivate further
  338. development by sending $10 to the following address:
  339.  
  340.     Matt Brown
  341.     2403 W. Springfield Ave. Apt.Y-8
  342.     Champaign, IL 61821
  343.  
  344.  
  345.     If 10 bucks is out of your league, at least let me know you're using it,
  346. and send me your comments.
  347.  
  348.     E-Mail sent to mks22040@uxa.cso.uiuc.edu will also be forwarded to me.
  349.  
  350.  
  351.  
  352.     Most of all, enjoy this program!!
  353.  
  354.     If something is missing that is necessary for this program to be useful
  355. to you, LET ME KNOW!  I can't change it if I don't know about it.
  356.  
  357.  
  358.     Oh yah... ofcourse, I am not responsible for any damage this program
  359. might cause.  It has done me no harm in ANY of its incarnations, so I would
  360. classify it as "Mostly Harmless" :-)
  361.  
  362.